package com.turing.data.scripts.contract.transfer

import com.turing.data.vo.out.review.DependParamsVO
import com.turing.data.vo.out.review.TaskElementVO


class TemporaryOpenFrequencyExplaination_30187_10_transfer {

    static List< TaskElementVO.DrawResultVO > doConvert(List< TaskElementVO.DrawResultVO > resultVOs, DependParamsVO dependParams){

        StringBuilder sb = new StringBuilder()
        for( drawResultVO in resultVOs ) {
                def childTaskSn = drawResultVO.childTaskSn
                if(null == childTaskSn || childTaskSn == ""){
                    continue
                }
            if(drawResultVO.text!=null&&drawResultVO.text!=""){
                sb.append(drawResultVO.text)
            }
        }

        String REGEX_EXPLAIN_1 = /.*若合同或监管规则变更，管理人可另行设立临时开放日。.*具体开放日期（含临时开放）由管理人通过公告、书面函件、邮件、短信等形式告知委托人，开放期（不含临时开放日）内可以办理参与、退出业务，临时开放日仅限委托人退出。.*/
        String REGEX_EXPLAIN_2 = /.*若发生（1）开放期参与、退出规则变更；（2）监管规则变更导致的本合同变更；（3）其他不违反合同真实意思表达而进行的文字勘误或更正等情形时，经管理人与托管人协商一致后，可对相关的合同要素进行变更调整，同时设立临时开放期，供委托人退出。资产管理人有权单独对投资经理进行变更，并书面通知委托人，同时设立临时开放期，供委托人退出。.*/
        String str = sb.toString().replaceAll("\n","").replaceAll("\r","")
        if( str =~ REGEX_EXPLAIN_1 ||  str =~ REGEX_EXPLAIN_2 ){
            for(drawResultVO in resultVOs){
                drawResultVO.businessValue = ""
            }
            resultVOs.get(0).businessValue = str
            resultVOs.get(0).type = 1
        }  

        return resultVOs
    }

}
